//
//  main.m
//  04-ColorDictionary
//
//  Created by mafeng on 16/7/7.
//  Copyright © 2016年 mafeng. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Color.h"
int main(int argc, const char * argv[]) {
//    处理⽂件crayons.txt中的⽂本信息，⽂本内容是关于颜⾊的，每⾏都是⼀ 个颜⾊的信息，例如：Almond #EED9C4，前⼀个字符串是颜⾊的名称，后⼀ 个字符串是颜⾊的16进制⾊值，处理⽂本完成如下需求:
//    
//    使⽤字典管理所有的颜⾊，即字典中存储的是多个键值对，颜⾊名称为 key，16进制颜⾊值（不带#）是value。
//    使⽤⼀个新的字典管理颜⾊，对颜⾊进⾏分类管理，即：“A”，“B”，“C”… 即这个字典包含多个键值对，key是26个字⺟，value是数组，数组⾥存放的是 Color对象（包含name和colorValue）。需要⾃⼰创建Color类。
   // 获取文件中的字符串
   // NSString *path = [[NSBundle mainBundle] pathForResource:@"crayons" ofType:@"txt"];
    //NSLog(@"%@", path);
    NSString *sourceStr = [NSString stringWithContentsOfFile:@"/Users/dllo/Desktop/Homework-04/crayons.txt"encoding:NSUTF8StringEncoding error:nil];
    // 根据\n切割字符串
    NSArray *colorArray = [sourceStr componentsSeparatedByString:@"\n"];
    NSLog(@"%@", colorArray);
     NSMutableDictionary *colorDict1 = [NSMutableDictionary dictionary];
    NSMutableDictionary *colorDict = [NSMutableDictionary dictionary];
   for (int i = 0; i < colorArray.count - 1; i++) {
       NSArray *array = [colorArray[i] componentsSeparatedByString:@" #"];
       [colorDict1 setObject:array[1] forKey:array[0]];
   }
    NSLog(@"%@", colorDict1);
    for (int i = 0; i < colorArray.count - 1; i++) {
        NSArray *array = [colorArray[i] componentsSeparatedByString:@" #"];
        Color *color = [Color colorWithName:array[0] colorValue:array[1]];
        NSString *firstString = [[color.name substringToIndex:1] uppercaseString];
        if ([colorDict objectForKey:firstString] == nil ) {
            NSMutableArray *array = [NSMutableArray arrayWithObjects:color, nil];
            [colorDict setObject:array forKey:firstString];
        } else {
            NSMutableArray *array = [colorDict objectForKey:firstString];
            [array addObject:color];
        }
    }
    NSLog(@"%@", colorDict);
    return 0;
}
